package cn.iocoder.yudao.module.enterprise.service.datamanage;

import cn.iocoder.yudao.module.enterprise.controller.admin.datamanage.vo.DataManageCreateReqVO;
import cn.iocoder.yudao.module.enterprise.controller.admin.datamanage.vo.DataManageListReqVO;
import cn.iocoder.yudao.module.enterprise.controller.admin.datamanage.vo.DataManageListRespVO;
import cn.iocoder.yudao.module.enterprise.controller.admin.datamanage.vo.DataManageUpdateReqVO;
import cn.iocoder.yudao.module.enterprise.dal.dataobject.datamanage.DataManageDO;

import javax.validation.Valid;
import java.util.List;

/**
 * 数据管理计划 Service 接口
 *
 * @author StevenShen
 */
public interface DataManageService {

    /**
     * 创建数据管理计划
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createDataManage(@Valid DataManageCreateReqVO createReqVO);

    /**
     * 更新数据管理计划
     *
     * @param updateReqVO 更新信息
     */
    void updateDataManage(@Valid DataManageUpdateReqVO updateReqVO);

    /**
     * 删除数据管理计划
     *
     * @param id 编号
     */
    void deleteDataManage(Long id);

    /**
     * 获得数据管理计划
     *
     * @param id 编号
     * @return 数据管理计划
     */
    DataManageDO getDataManage(Long id);

    /**
     * 获得数据管理计划列表
     *
     * @param listReqVO 列表信息
     * @return 数据管理计划列表
     */
    List<DataManageListRespVO> getDataManageList(DataManageListReqVO listReqVO);

}
